.TH std::jthread::get_id 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::jthread::get_id \- std::jthread::get_id

.SH Synopsis
   [[nodiscard]] std::jthread::id get_id() const noexcept;  \fI(since C++20)\fP

   Returns a value of std::jthread::id (which is a type alias for std::thread::id)
   identifying the thread associated with *this.

.SH Parameters

   \fI(none)\fP

.SH Return value

   A value of type std::jthread::id identifying the thread associated with *this. If
   there is no thread associated, default constructed std::jthread::id is returned.

.SH Example


// Run this code

 #include <chrono>
 #include <iostream>
 #include <thread>

 void foo()
 {
     std::this_thread::sleep_for(std::chrono::seconds(1));
 }

 int main()
 {
     std::jthread t1(foo);
     std::jthread::id t1_id = t1.get_id();

     std::jthread t2(foo);
     std::jthread::id t2_id = t2.get_id();

     std::cout << "t1's id: " << t1_id << '\\n';
     std::cout << "t2's id: " << t2_id << '\\n';

     t1.join();
     t2.join();

     std::cout << "t1's id after join: " << t1.get_id() << '\\n';
     std::cout << "t2's id after join: " << t2.get_id() << '\\n';
 }

.SH Possible output:

 t1's id: 140146221688576
 t2's id: 140146213295872
 t1's id after join: thread::id of a non-executing thread
 t2's id after join: thread::id of a non-executing thread

.SH See also

   id       represents the id of a thread
            \fI(public member class of std::thread)\fP
            checks whether the thread is joinable, i.e. potentially running in parallel
   joinable context
            \fI(public member function)\fP
